package com.adou.day9;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

/**
 * 学生管理系统（集合版）
 * 
 * 学生类：（学号，姓名，年龄，地址）
 * 1、增加学生
 * 2、删除学生
 * 3、更新学生
 * 4、遍历学生
 * 
 * 
 * 代码提交到：https://gitee.com/
 * @author admin
 *
 */
public class StudentManager {
	/**
	 * 学生信息
	 */
	private static List<Student> stus = new ArrayList<Student>();;
	
	
	public static void main(String[] args) {

		while(true) {
			// 初始化学生信息
			init();
		}

	}

	/**
	 * 添加学生信息
	 * @param stus
	 */
	private static void addStudent(List<Student> stus){
		Scanner sc = new Scanner(System.in);
		System.out.print("请输入学生学号：");
		int stuNo = sc.nextInt();
		System.out.print("请输入学生姓名：");
		String name = sc.next();
		System.out.print("请输入学生年龄：");
		int age = sc.nextInt();
		System.out.print("请输入学生地址：");
		String address = sc.next();
		
		Student stu = new Student();
		stu.setStuNo(stuNo);
		stu.setName(name);
		stu.setAge(age);
		stu.setAddress(address);
		
		stus.add(stu);
		System.out.println("添加成功！！！");
	}
	
	private static void updateStudent(List<Student> stus){
		Scanner sc = new Scanner(System.in);
		System.out.print("请输入学生学号：");
		int stuNo = sc.nextInt();
		System.out.print("请输入学生姓名：");
		String name = sc.next();
		System.out.print("请输入学生年龄：");
		int age = sc.nextInt();
		System.out.print("请输入学生地址：");
		String address = sc.next();
		
		for (int i = 0; i < stus.size(); i++) {
			Student stu = stus.get(i);
			if(stu.getStuNo() == stuNo){
				stu.setName(name);
				stu.setAge(age);
				stu.setAddress(address);
				System.out.println("修改成功！！！");
			} else {
				System.out.println("输入学号有误！stuNo=" + stuNo);
			}
		}
		
	}
	
	/**
	 * 删除学生信息
	 * @param stus
	 */
	private static void deleteStudent(List<Student> stus){
		Scanner sc = new Scanner(System.in);
		System.out.print("请输入学生学号：");
		int stuNo = sc.nextInt();
		int i;
		for (i = 0; i < stus.size(); i++) {
			Student stu = stus.get(i);
			if(stu.getStuNo() == stuNo){
				stus.remove(stu);
				System.out.println("删除成功！！！");
			}
		}
		if(i == stus.size()){
			System.out.println("输入学号有误！stuNo=" + stuNo);
		}
		
	}
	
	/**
	 * 查询所有学生
	 * @param stus
	 */
	private static void findAllStudent(List<Student> stus){
		for (int i = 0; i < stus.size(); i++) {
			System.out.println(stus.get(i));
		}
	}
	
	/**
	 * 操作
	 * @param op
	 */
	private static void oper(int op) {
		switch (op) {
		case 1:
			addStudent(stus);
			break;
			
		case 2:
			deleteStudent(stus);
			break;

		case 3:
			updateStudent(stus);
			break;

		case 4:
			findAllStudent(stus);
			break;
			
		case 5:
			System.out.print("程序已退出!!!");
			System.exit(0);
			break;

		default:
			System.out.println("您输入有误！请重新输入");
			break;
		}
	}
	
	/**
	 * 初始化学生信息
	 */
	private static void init() {
		System.out.println("-----欢迎来到学生管理系统-----");
		System.out.println("1、添加学生");
		System.out.println("2、删除学生");
		System.out.println("3、修改学生");
		System.out.println("4、查询所有学生");
		System.out.println("5、退出");
		
		System.out.print("请输入你的操作：");
		Scanner sc = new Scanner(System.in);
		int op = sc.nextInt();
		
		//操作
		oper(op);
	}

}
